[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Publicado por rafael farias novaes 26/01/2009
[ Hits: 7.076 ]
Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher program ShowCPS; // --------------------------------------------- const cpsreport = 'C:\cps_report.txt'; CRLF = ''#13''#10; Rsep = ' | '; var i, n, p : Integer; duration, sublength, cps : Integer; subtxt, report : String; Ms : TmemoryStream; begin Ms := TmemoryStream.Create; n := GetSubtitleCount-1; for i := 0 to n do begin subtxt := GetSubtitleText(i); sublength := length(subtxt); p := pos(''#13''#10, subtxt); if (p>0) then sublength := sublength - 2; duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i); cps := round((sublength * 1000)/ duration); report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.' if (cps > 25) then report := report + Rsep + 'LEGENDA MUITO RAPIDA' report := report + CRLF Ms.Write(report, length(report)); try Ms.SaveToFile(cpsreport); except MsgBox('Couldn''t write to file!', '&Ok', '', '', $20); end; end; Ms.Free; MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20); end.
Visualizador De Imagem feito no Lazarus (Delphi 7 para Linux)
Questionário em estatisticas em Pascal
ZCodEdit - Editor de textos com sintaxe HTML e Pascal
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta